package com.dy.分类.数组._41_缺失的第一个正数;

public class Solution {
    public int firstMissingPositive(int[] nums) {
        //针对所有 nums[i] 如果小于n且大于0 且 nums[i]!=nums[nums[i]-1]的，需要进行一个交换
        int i=0;
        while(i<nums.length){
            if(nums[i]>0&&nums[i]<=nums.length &&nums[i]!=nums[nums[i]-1]){
                int index = nums[i];
                nums[i] = nums[index-1];
                nums[index-1]= index;
            }else{
                i++;
            }
        }
        i=0;
        while(i<nums.length){
            if(nums[i]!=i+1){
                return i+1;
            }
        }
        return nums.length+1;
    }
}
